#pragma once
#include "define.h"
#include "tetromino.h"

/*
        0 	1 	2 	3 	4 	5 	6 	7 	8 	9 	A 	B 	C 	D 	E 	F
U+250x 	─ 	━ 	│ 	┃ 	┄ 	┅ 	┆ 	┇ 	┈ 	┉ 	┊ 	┋ 	┌ 	┍ 	┎ 	┏
U+251x 	┐ 	┑ 	┒ 	┓ 	└ 	┕ 	┖ 	┗ 	┘ 	┙ 	┚ 	┛ 	├ 	┝ 	┞ 	┟
U+252x 	┠ 	┡ 	┢ 	┣ 	┤ 	┥ 	┦ 	┧ 	┨ 	┩ 	┪ 	┫ 	┬ 	┭ 	┮ 	┯
U+253x 	┰ 	┱ 	┲ 	┳ 	┴ 	┵ 	┶ 	┷ 	┸ 	┹ 	┺ 	┻ 	┼ 	┽ 	┾ 	┿
U+254x 	╀ 	╁ 	╂ 	╃ 	╄ 	╅ 	╆ 	╇ 	╈ 	╉ 	╊ 	╋ 	? 	? 	? 	?
U+255x 	═ 	║ 	╒ 	╓ 	╔ 	╕ 	╖ 	╗ 	╘ 	╙ 	╚ 	╛ 	╜ 	╝ 	╞ 	╟
U+256x 	╠ 	╡ 	╢ 	╣ 	╤ 	╥ 	╦ 	╧ 	╨ 	╩ 	╪ 	╫ 	╬ 	╭ 	╮ 	╯
U+257x 	╰ 	╱ 	╲ 	╳ 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	?
┌ ┐ └ ┘ │ ─
*/

//                0123456
#define WIN_DEFAUL  U" ┌┐└┘│─"  //默认
#define WIN_DOUBLE  U" ╔╗╚╝║═"  //双边
#define WIN_THICK   U" ┏┓┗┛┃━"  //加厚
#define WIN_PLIABLE U" ╭╮╰╯│─"  //圆滑

namespace dw
{
    void window(int top, int left, int width, int height, std::string title, std::u32string style=WIN_DEFAUL);
    //void tetromino(gm::Tetromino &t, int top, int left);
    //void tetromino(Tetromino &t, int top, int left, int index);
    void frame(Matrix& frame, int top, int left);
    void data(int top, int left, int score,int lines,int level);
    void next(Matrix &n, int top, int left);
    void hole(Matrix &holepiece,int top, int left);
    void losed(int top, int left);
    void help();
}

